package com.Lacia.emsserver.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.Instant;

/**
 * PCS模拟数据实体
 * @author 万里花
 * @date 2024/6/5 15:48
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class PcsPushData {

    /** 电网UV电压 */
    private Double grdUvVol;

    /** 电网VW电压 */
    private Double grdVwVol;

    /** 电网WU电压 */
    private Double grdWuVol;

    /** 环境温度 */
    private Double envTemp;

    /** 时间戳 */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_INT)
    @JsonProperty("timestamp")
    private Instant timestamp;

    /** 堆号(户外柜默认0) */
    private Integer arrNum;

    /** 簇号(户外柜默认0) */
    private Integer cluNum;

    /** 设备号(户外柜默认0) */
    private Integer devNum;

    /** 输出U相电压 */
    private Double grdUVol;

    /** 输出V相电压 */
    private Double grdVVol;

    /** 输出W相电压 */
    private Double grdWVol;

    /** 输出U相电流 */
    private Double outUCur;

    /** 输出V相电流 */
    private Double outVCur;

    /** 输出W相电流 */
    private Double outWCur;

    /** 电网频率 */
    private Double grdFreq;

    /** 交流U相有功功率 */
    private Double acUPowP;

    /** 交流V相有功功率 */
    private Double acVPowP;

    /** 交流W相有功功率 */
    private Double acWPowP;

    /** 交流U相视在功率 */
    private Double acUPowS;

    /** 交流V相视在功率 */
    private Double acVPowS;

    /** 交流W相视在功率 */
    private Double acWPowS;

    /** 交流U相无功功率 */
    private Double acUPowQ;

    /** 交流V相无功功率 */
    private Double acVPowQ;

    /** 交流W相无功功率 */
    private Double acWPowQ;

    /** 交流输出总有功功率 */
    private Double acPowP;

    /** 交流输出总无功功率 */
    private Double acPowQ;

    /** 交流输出总视在功率 */
    private Double acPowS;

    /** 总交流功率因数 */
    private Double acPowPf;

    /** 总母线电压 */
    private Double busVoltage;

    /** 电池电压 */
    private Double batteryVoltage;

    /** 电池电流 */
    private Double batteryCurrent;

    /** 直流功率 */
    private Double dcPow;

    /** IGBT温度 */
    private Double igbtTemp;

    /** 电感温度 */
    private Double moduleTmp;

    /** 当前实际充放电工作模式  0:直流电压源模式，1:交流电流源模式 */
    private Integer runModSta;

    /** A相功率因数 */
    private Double acUPowPf;

    /** B相功率因数 */
    private Double acVPowPf;

    /** C相功率因数 */
    private Double acWPowPf;

    /** 直流历史充电量 */
    private Integer chgCap;

    /** 直流日充电量 */
    private Integer chgdayCap;

    /** 直流历史放电量 */
    private Integer disCap;

    /** 直流日放电量 */
    private Integer disdayCap;

    /** 交流历史充电量 */
    private Integer comchgCap;

    /** 交流历史放电量 */
    private Integer comdisCap;

    /** 交流日放电量 */
    private Integer comdisdayCap;

    /** 运行状态 0:停机，1:待机，2:故障，3:充电，4:放电，5:充电降功率，6:放电降功率 */
    private Integer runStatus;

    /** 负母线电压 */
    private Double negBusVoltage;

    /** 正母线电压 */
    private Double posBusVoltage;

    /** 交流日充电量 */
    private Integer comchgdayCap;


}
